package com.todo.sight.application.iface.backend;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.sight.application.iface.backend.request.*;
import com.todo.sight.application.iface.backend.response.QuerySightInfoByConditionResp;
import com.todo.sight.application.iface.backend.response.SightInfoDetailResp;

/**
 * @author zhangwenxiang
 * @date 2024/3/17 15:43
 * @description
 */
public interface SightInfoBackendIface {

    /**
     * 根据主键查询景点详情
     *
     * @param req
     * @return
     */
    BizResponse<SightInfoDetailResp> querySightDetailById(QuerySightDetailByIdReq req);

    /**
     * 多条件查询景点信息列表
     *
     * @param req
     * @return
     */
    BizPageResponse<QuerySightInfoByConditionResp> querySightInfoByCondition(QuerySightInfoByConditionReq req);

    /**
     * 新增景点信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> insertSightDetail(InsertSightDetailReq req);

    /**
     * 根据主键更新景点信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateSightDetailById(UpdateSightDetailReq req);

    /**
     * 根据主键删除景点信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> removeSightInfoById(RemoveSightInfoByIdReq req);

    /**
     * 根据主键启禁用景点信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> enableSightInfoById(EnableSightInfoByIdReq req);
}
